#ifndef TRANSPORTLAYER_H_INCLUDED
#define TRANSPORTLAYER_H_INCLUDED

/*
  This a simple implementation of TCP
        Source Port(16bit):             0x0000
        Destination Port(16bit):        0xFFFF
        Sequence Number(32bit)          0x00000000
        Acknowledgment Number(32bit):   0x00000000
        Header Length(4bit):            0x5         5x4=20 bytes
        Reserved(4bit):                 0x0
        Code Bits(8bit):                0x00
        Window Size(16bit):             0x0000
        TCP checksum(16bit):            0x0000
        Urgent Pointer(16bit):          0x0000
        Options: xxx.
*/

#include "Layer.h"

#define HEAD_IDX 96

class TransportLayer:Layer {
private:
	vector<bit> data; //
public:
    void Exec(string s);
	vector<bit> Send();
	void Recv(vector<bit>);
	void SayHello();
	int len();
};


#endif // TRANSPORTLAYER_H_INCLUDED
